home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / usr / include / bits / statvfs.h < prev    next >
C/C++ Source or Header  |  2009-10-07  |  3KB  |  110 lines

  1. /* Copyright (C) 1997,1998,2000,2001,2002,2006 Free Software Foundation, Inc.
  2.    This file is part of the GNU C Library.
  3.  
  4.    The GNU C Library is free software; you can redistribute it and/or
  5.    modify it under the terms of the GNU Lesser General Public
  6.    License as published by the Free Software Foundation; either
  7.    version 2.1 of the License, or (at your option) any later version.
  8.  
  9.    The GNU C Library is distributed in the hope that it will be useful,
  10.    but WITHOUT ANY WARRANTY; without even the implied warranty of
  11.    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  12.    Lesser General Public License for more details.
  13.  
  14.    You should have received a copy of the GNU Lesser General Public
  15.    License along with the GNU C Library; if not, write to the Free
  16.    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
  17.    02111-1307 USA.  */
  18.  
  19. #ifndef _SYS_STATVFS_H
  20. # error "Never include <bits/statvfs.h> directly; use <sys/statvfs.h> instead."
  21. #endif
  22.  
  23. #include <bits/types.h>  /* For __fsblkcnt_t and __fsfilcnt_t.  */
  24.  
  25. #if __WORDSIZE == 32
  26. #define _STATVFSBUF_F_UNUSED
  27. #endif
  28.  
  29. struct statvfs
  30.   {
  31.     unsigned long int f_bsize;
  32.     unsigned long int f_frsize;
  33. #ifndef __USE_FILE_OFFSET64
  34.     __fsblkcnt_t f_blocks;
  35.     __fsblkcnt_t f_bfree;
  36.     __fsblkcnt_t f_bavail;
  37.     __fsfilcnt_t f_files;
  38.     __fsfilcnt_t f_ffree;
  39.     __fsfilcnt_t f_favail;
  40. #else
  41.     __fsblkcnt64_t f_blocks;
  42.     __fsblkcnt64_t f_bfree;
  43.     __fsblkcnt64_t f_bavail;
  44.     __fsfilcnt64_t f_files;
  45.     __fsfilcnt64_t f_ffree;
  46.     __fsfilcnt64_t f_favail;
  47. #endif
  48.     unsigned long int f_fsid;
  49. #ifdef _STATVFSBUF_F_UNUSED
  50.     int __f_unused;
  51. #endif
  52.     unsigned long int f_flag;
  53.     unsigned long int f_namemax;
  54.     int __f_spare[6];
  55.   };
  56.  
  57. #ifdef __USE_LARGEFILE64
  58. struct statvfs64
  59.   {
  60.     unsigned long int f_bsize;
  61.     unsigned long int f_frsize;
  62.     __fsblkcnt64_t f_blocks;
  63.     __fsblkcnt64_t f_bfree;
  64.     __fsblkcnt64_t f_bavail;
  65.     __fsfilcnt64_t f_files;
  66.     __fsfilcnt64_t f_ffree;
  67.     __fsfilcnt64_t f_favail;
  68.     unsigned long int f_fsid;
  69. #ifdef _STATVFSBUF_F_UNUSED
  70.     int __f_unused;
  71. #endif
  72.     unsigned long int f_flag;
  73.     unsigned long int f_namemax;
  74.     int __f_spare[6];
  75.   };
  76. #endif
  77.  
  78. /* Definitions for the flag in `f_flag'.  These definitions should be
  79.    kept in sync with the definitions in <sys/mount.h>.  */
  80. enum
  81. {
  82.   ST_RDONLY = 1,        /* Mount read-only.  */
  83. #define ST_RDONLY    ST_RDONLY
  84.   ST_NOSUID = 2            /* Ignore suid and sgid bits.  */
  85. #define ST_NOSUID    ST_NOSUID
  86. #ifdef __USE_GNU
  87.   ,
  88.   ST_NODEV = 4,            /* Disallow access to device special files.  */
  89. # define ST_NODEV    ST_NODEV
  90.   ST_NOEXEC = 8,        /* Disallow program execution.  */
  91. # define ST_NOEXEC    ST_NOEXEC
  92.   ST_SYNCHRONOUS = 16,        /* Writes are synced at once.  */
  93. # define ST_SYNCHRONOUS    ST_SYNCHRONOUS
  94.   ST_MANDLOCK = 64,        /* Allow mandatory locks on an FS.  */
  95. # define ST_MANDLOCK    ST_MANDLOCK
  96.   ST_WRITE = 128,        /* Write on file/directory/symlink.  */
  97. # define ST_WRITE    ST_WRITE
  98.   ST_APPEND = 256,        /* Append-only file.  */
  99. # define ST_APPEND    ST_APPEND
  100.   ST_IMMUTABLE = 512,        /* Immutable file.  */
  101. # define ST_IMMUTABLE    ST_IMMUTABLE
  102.   ST_NOATIME = 1024,        /* Do not update access times.  */
  103. # define ST_NOATIME    ST_NOATIME
  104.   ST_NODIRATIME = 2048,        /* Do not update directory access times.  */
  105. # define ST_NODIRATIME    ST_NODIRATIME
  106.   ST_RELATIME = 4096        /* Update atime relative to mtime/ctime.  */
  107. # define ST_RELATIME    ST_RELATIME
  108. #endif    /* Use GNU.  */
  109. };
  110.